#ifndef __COM_DEBUG_H__
#define __COM_DEBUG_H__ 

#include "usart.h"
#include "stdio.h"
#include <stdarg.h> // 系统参数
#include <string.h>


// 打印输出开关
#define DEBUG_ENABLE

#ifdef DEBUG_ENABLE
// 替换 __FILE__ 只保留文件名称  去除路径名称
#define FILE__NAME (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__)
#define __FILE__NAME__ (strrchr(FILE__NAME, '/') ? strrchr(FILE__NAME, '/') + 1 : FILE__NAME)

#define debug_printf(format, ...) printf("[%s:%d]" format, __FILE__NAME__, __LINE__, ##__VA_ARGS__)
#define debug_println(format, ...) printf("[%s:%d]" format "\r\n", __FILE__NAME__, __LINE__, ##__VA_ARGS__)
#else
#define FILE__NAME
#define __FILE__NAME__
#define debug_printf(format, ...)
#define debug_println(format, ...)
#endif  


void Com_Debug_Init(void);

int fputc(int ch, FILE *f);

#endif
